Changes to class Heap

The new member function Heap::removeId(const Object&) allows you to remove the object that is the same (i.e. isSame()) as the argument object from a Heap.

Iterating over a Heap now visits the objects in the heap in sorted order, from smallest to largest. Previous implementations visited the objects in heap order. This affects the order in which printOn() lists the objects in a Heap, for example.